ArrayList <Student> studentList

来源:百度知道 编辑:UC知道 时间:2024/06/04 01:28:00
中间的<Student>有什么用途?

元素的数据类型

首先你要知道数组和集合的区别,
ArrayList是集合,Student[]是数组,
数组的特点是只能放固定类型的数据,如int[]就只能放int型成员,也正因为如此,使数组放进去什么类型的数据,取出来就是什么类型,缺点是数组容量,即长度在初始化时就固定了。
集合的特点和数组正好相反,任意类型的数据都可以放进去,其原理是他把任何对象都转换成了根类的引用object,而缺点也随之而来:拿出来的时候需要做类型转换。另外集合的成员个数从理论上说没有限制,且不用管理,他会根据元素的个数自动增长。

ArrayList<Student>属于泛型集合,这是一种改进了普通集合缺陷的类型,首先,他具有集合的优点:容量不受限制,其次,他具有数组的好处:放进去什么类型,拿出来直接用就可以了,不用类型转换,这是为什么呢?
原因就在于这个<>尖括号内的数据类型,这个括号内指定了这个集合的元素类型,使集合对象明确声明了元素的类型,这样就可以拿出来直接用了。

所以这里的<Student>指的是集合中元素的数据类型,相应的,只要你能肯定集合只放某一种类型的元素,你都可以使用泛型集合,如:
ArrayList<String>
ArrayList<Employee>
ArrayList<int[]>
List<Book>
List<Student>


需要注意的是:一旦使用泛型集合,那么普通集合原有的可以放置任何数据类型的对象的特性就没有了,因为你指定了元素的数据类型,所以也只能放这种类型的元素,否则会报错!

1.5版本以后的新特性吧.
我想是这个意思哦,以前的ArrayList任何对象放进去,都会自动转型为Object,丢失了对象信息,现在支持你定义一个全是Student类型的ArrayList了,无须取出来后再转型了吧.

限制arraylist中元素的数据类型